1
Além da Busca Linear: O Poder dos Contêineres Associativos
AI037Lesson 15
00:00

Imagine uma biblioteca onde os livros não são organizados pela data de chegada, mas por uma Chave Universal. Esse é o deslocamento paradigmático da sequencialidade para Contêineres Associativos. Em vez de percorrer um vetor linearmente ($O(N)$), utilizamos um mapa ou conjunto para alcançar buscas em tempo logarítmico ($O(\log n)$).

1. A Natureza da Associação

Em um mapa, armazenamos pares chave-valor. A chave atua como um índice que pode ser uma string, um objeto personalizado ou qualquer tipo que suporte Ordenação Estrita Fraca. Um conjunto, por outro lado, armazena apenas chaves únicas, tornando-o a ferramenta ideal para testes de pertencimento ou filtragem.

Vetor (Sequencial)Conjunto (Associativo)[0]"A"[1]"B"[2]"A"(Duplicado)Filtro ÚnicoChave:"A"Chave:"B"

2. Ordenado vs. Não Ordenado

Contêineres padrão (mapa, conjunto) mantêm as chaves ordenadas. O Padrão C++11 introduziu variantes não ordenadas (unordered_map) que usam uma função de hash para desempenho médio de $O(1)$. Procure pelo Logotipo C++11 ao utilizar esses buckets de alto desempenho.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>